import UtilsTools from "../utils/UtilsTools";

export default class UnitManager {
  public unitNodes = null; // 使用 Map 存储单位节点，键为 UUID
  private static _instance: UnitManager;

  public static get Inst(): UnitManager {
      if (!this._instance) this._instance = new UnitManager();
      return this._instance;
  }
  constructor() {
    this.unitNodes = new Map(); // 使用 Map 存储单位节点，键为 UUID
  }

  // 生成指定数量的 UnitNode 并添加到管理器中
  public generateUnitNodes(count) {
    let t_uuid = "00"
    for (let i = 0; i < count; i++) {
      t_uuid = UtilsTools.generateUID(); // 假设这是生成 UID 的方法
      let unitNode = {uid :t_uuid,name:"普通单位"+i}
      this.unitNodes.set(t_uuid, unitNode);
    }
  }

  // 根据 UUID 获取 UnitNode
  public getUnitNodeByUid(uid) {
    return this.unitNodes.get(uid);
  }

  // 删除指定 UUID 的 UnitNode
  public removeUnitNodeByUuid(uid) {
    const unitInstance = this.unitNodes.get(uid);
    if (unitInstance) {
      // 从 Map 中删除引用
      this.unitNodes.delete(uid);
    }
}

}